package com.hmall.item.service;

import com.hmall.common.domain.PageDTO;
import com.hmall.item.domain.po.ItemDoc;
import com.hmall.item.domain.query.ItemPageQuery;

import java.util.List;
import java.util.Map;

/**
 * 商品搜索服务接口
 */
public interface IItemSearchService {
    /**
     * 基于Elasticsearch搜索商品
     * @param query 查询条件
     * @return 分页结果
     */
    PageDTO<ItemDoc> search(ItemPageQuery query);
    
    /**
     * 根据搜索条件聚合分类和品牌
     * @param query 查询条件
     * @return 聚合结果，key为聚合字段名（category、brand），value为聚合结果列表
     */
    Map<String, List<String>> filters(ItemPageQuery query);
} 